创建仓库
- git init
- echo 123 > test.txt
- git add .
- git commit -m “add test file”
- git remote add origin git@git.xx.xx.xx:xxx/xxx.git
- git push origin master
以上内容比较简单,就不作详细讲述,如果上面的内容看不懂,下面的请放弃
使用git stash暂存
-
随意修改test.txt文件的内容,比如:画个心形,你正热火朝天修改中……
-
这时领导走过来拍了拍你的肩膀说到:”小伙子啊,创建个
朕.txt
文件提交上来,内容就写我还想再活五百年
,test.txt文件这一版不作修改“。 -
你面露笑容的回答:“好的,没问题!”,内心却是:“MMP,MMP,MMP……”
-
辛辛苦苦修改的
test.txt
文件怎么办?眼瞅着就要完成了,难道复制出去,然后等解决领导需求后再粘贴回来?low不low?肯定不low
啊,一个文件而已,这种方法很简单,*但是当你实际项目中修改了几十个文件的时候呢?*挨个儿复制出去?累傻小子呐?!!!!! -
git stash
命令帮你解决问题,stash是存储的意思,也就是将当前工作区内的所有东西都存储起来,然后工作区所有文件恢复到修改之前的状态(并不是最新状态,不会和仓库中进行自动同步,需要你自己去pull),然后你就可以继续完成任务了。(在执行git stash之前需要先执行git add命令)stash可以进行多次操作,每次操作都会将当前工作区的文件情况暂存起来,stash是类栈存储,每次stash的序号都为0,此次之前stash的序号会自动+1
使用git stash pop取出
git stash pop
取出栈顶元素,也就是序号为0的那个,即最近一次执行git stash
保存的内容。pop之后,暂存列表中就会自动将其清除掉,这个时候你再执行git stash list
会发现毛都没有- 这个时候可能就会纳闷了,我保存了好几次,但是我这次是想使用最开始stash的那份内容,怎么办?一直pop,直到最后一次?当然不行,上面刚讲过pop之后暂存列表中就没有stash的信息了,已经被pop出去的就找不回来了,等于是自杀式攻击,那咋整呢?
git stash apply stash@{序号}
可以将指定序号的stash内容弹出到工作区,此时工作区里文件的状态就和stash@{序号}
里的一致了,但是这个命令无法将stash记录从暂存列表中删除,仅仅只是将文件恢复而已git stash drop stash@{序号}
来丢弃暂存列表中的记录,可以配合apply使用
查看暂存记录中的信息
- 查看暂存列表:
git stash list
查看当前stash的列表 - 查看暂存内容:
git stash show stash@{序号}
查看指定序号的stash的内容
git stash save ‘msg’
等于是在stash的时候打了个标签,妖娆!!!!